package tp1

import scala.collection.mutable.Map

class Foja (numero: Int, alumno: Alumno, carrera: Carrera){
   var materiasCursadas: Map[String, Int] = Map()
   def numeroFoja() = numero
   def f_alumno = alumno
   
   /*11 = abandono*/
   def agregarMateriaNota(nuevaMateria: Materia, nota: Int){
     this.materiasCursadas += (nuevaMateria.m_nombreMateria -> nota)
   }
   
   def promedioSinAplazos():Int ={
     var cantSinAplazos = 0
     var sumaNotas = 0
     this.materiasCursadas.values.foreach{ i => 
      if(i>=7 && i<11){
        sumaNotas += i
        cantSinAplazos += 1
      }
     }
     sumaNotas/cantSinAplazos
   }
   
   def promedioConAplazos:Int ={
     var cantSinAplazos = 0
     var sumaNotas = 0
     this.materiasCursadas.values.foreach{ i => 
      if(i<11){
        sumaNotas += i
        cantSinAplazos += 1
      }
     }
     sumaNotas/cantSinAplazos
   }
   
     def cantCursosAprobados:Int ={
     var cantAprobados = 0
     this.materiasCursadas.values.foreach{ i => 
      if(i>=7 && i<11){
        cantAprobados += 1
      }
     }
     cantAprobados
   }
   
   def cantCursosAbandonados:Int ={
     var cantAbandonados = 0
     this.materiasCursadas.values.foreach{ i => 
      if(i==11){
        cantAbandonados += 1
      }
     }
     cantAbandonados
   }
   
   def porcentajeDeCursosAprobados: Int ={
     var cantMateriasCursadas = this.materiasCursadas.size
     var cantAprobados = this.cantCursosAprobados
     var cantAbandonados = this.cantCursosAbandonados
     (cantAprobados)*100/cantMateriasCursadas
     
   }
   
   def tablaDeNotas{
     var ticket = 0
     var cant = 0
     print("Nota  ")
     println("Cantidad")
     while(ticket <= 10){
       this.materiasCursadas.values.foreach{ i =>
       if(i == ticket){
         cant += 1
       }
       print("  "+ticket+"   ")
       println("   "+ cant +"    ")
       ticket += 1
       cant = 0
     }
   }
   
   }
   
   def notaMasAltaNVeces(n: Int){
     
   }
}